With the proliferation of modern wireless technologies, networked devices have become nearly ubiquitous. Networked devices often employ a multi-layered protocol architecture to simplify communications. The layers serve to isolate each function to a particular hierarchical system, thereby isolating other systems within the protocol hierarchy from the details of functionalities implemented in disparate layers.
Network protocol layering is often based on the Open Systems Interconnection Model (“OSI”), as specified in ITU-T Recommendation X.200. The OSI model specifies seven protocol layers traversed by data as it passes between the transmission media and the relevant application. Each layer may copy the data received from the previous layer, and pass a modified version of the data to the subsequent layer for further processing.
The first and lowest layer of a protocol stack is often termed the “physical” layer. The physical layer provides the network device with means to access the physical media interconnecting devices, and to transmit and receive bit streams via that media.
The data link layer resides atop, and is serviced by, the physical layer of the network stack. The data link layer may provide a variety of services to higher levels, and therefore comprise a number of functionalities. Representative data link layer functionalities include: error correction by automatic retransmission request, ciphering and deciphering of data units, and segmentation and reassembly of data units. The data link layer may be further sub-divided into a number of sub-layers to implement the required functionalities. Each sub-layer receives data from the previous sub-layer, processes the data, and passes the processed data to the next sub-layer for further processing. Sub-layer processing may include copying, as well as other manipulations of the data.
The network layer (layer 3) is located above the data link layer. The network layer provides for connection establishment and release between communicating applications. A wide variety of other functions, such as routing and relay services, may reside at the network layer. The internet protocol is a well known example of a network layer protocol.
With wireless network speeds increasing dramatically, from 10-100 Kbps in 2G networks, to 1-10 Mbps in 3G networks, to 100 Mbps in 4G networks, the host processor of a network device struggles to perform the data manipulations required by the various protocol layers in real-time. General purpose processors tend to be inefficient in regard to bit level processing and data copying, and consequently, have difficulty supporting the throughput levels required by elevated data rates. Therefore, an improved means of protocol processing is needed.